3e53fc5e39c58c6404b01667c51506b561fcc01d,plugin/src/test/java/com/qualinsight/plugins/sonarqube/smell/plugin/extension/SmellMeasuresSensorTest.java,SmellMeasuresSensorTest,analyse_should_saveMeasures,#,77
Before Change
.file();
final ArgumentCaptor<Measure> captor = ArgumentCaptor.forClass(Measure.class);
// 2 times because of smell count + debt
Mockito.verify(this.context, Mockito.times(2))
.getResource((Matchers.eq(this.inputFile)));
// 3 because of : SMELL_COUNT_ANTI_PATTERN, SMELL_COUNT, SMELL_DEBT
Mockito.verify(this.context, Mockito.times(3))
.saveMeasure(Matchers.eq(this.resource), captor.capture());
final List<Measure> measures = captor.getAllValues();
assertEquals(SmellMetrics.SMELL_COUNT_ANTI_PATTERN, measures.get(0)
.getMetric());
After Change
.thenReturn(testFile.getAbsolutePath());
Mockito.when(this.context.getResource(this.inputFile))
.thenReturn(this.resource);
Mockito.when(this.context.newMeasure())
.thenReturn(this.measure);
Mockito.when(this.measure.forMetric(Mockito.any()))
.thenReturn(this.measure);
Mockito.when(this.measure.withValue(Mockito.any()))
.thenReturn(this.measure);
Mockito.when(this.measure.on(Mockito.any()))
.thenReturn(this.measure);
sut.analyse(null, this.context);
Mockito.verify(this.inputFile, Mockito.times(1))
.file();
final ArgumentCaptor<Metric> metricCaptor = ArgumentCaptor.forClass(Metric.class);
final ArgumentCaptor<Serializable> valueCaptor = ArgumentCaptor.forClass(Serializable.class);
// 3 because of : SMELL_COUNT_ANTI_PATTERN, SMELL_COUNT, SMELL_DEBT
Mockito.verify(this.context, Mockito.times(3))
.newMeasure();
Mockito.verify(this.measure, Mockito.times(3))
.save();
Mockito.verify(this.measure, Mockito.times(3))
.forMetric(metricCaptor.capture());
final List<Metric> capturedMetrics = metricCaptor.getAllValues();
assertEquals(SmellMetrics.SMELL_COUNT_ANTI_PATTERN, capturedMetrics.get(0));
assertEquals(SmellMetrics.SMELL_COUNT, capturedMetrics.get(1));
assertEquals(SmellMetrics.SMELL_DEBT, capturedMetrics.get(2));
Mockito.verify(this.measure, Mockito.times(3))
.withValue(valueCaptor.capture());
final List<Serializable> capturedValues = valueCaptor.getAllValues();
assertEquals(Integer.valueOf(7), capturedValues.get(0));
assertEquals(Integer.valueOf(7), capturedValues.get(1));
assertEquals(Long.valueOf(70), capturedValues.get(2));
Mockito.verify(this.measure, Mockito.times(3))
.on(Mockito.any());
Mockito.verifyNoMoreInteractions(this.context);
}